Change log for implantable medical device

ABSTRACT

A method and system for recording changes to programmable parameters in an implantable pulse generator. An executable program is stored in an implantable pulse generator. A parameter log is maintained in the implantable pulse generator, where the parameter log is used to record changes to the state of one or more programmable parameters of the executable program. When a change is detected in the state, from a first state to a second state, of the one or more programmable parameters the first state of the one or more programmable parameters changed to the second state are recorded in the parameter log. The parameter log is retrievable to allow for analysis of when and how changes took place to the executable program.

CROSS REFERENCE TO RELATED APPLICATION(S)

This application is a division of U.S. patent application Ser. No.09/378,104, filed on Aug. 20, 1999, now U.S. Pat. No. 6,321,117 thespecification of which is incorporated herein by reference.

FIELD OF THE INVENTION

This invention relates generally to the field of medical devices, andmore particularly to implantable medical devices.

BACKGROUND

Cardiac rhythm management devices such as pacemakers,cardioverter/defibrillators, and combination devices typically includenumerous program parameters that affect device function, includingarrhythmia detection and therapy delivery. Device function can beadjusted to meet the needs of a patient by changing the programparameters. Some examples of program parameters include tachy mode (fordetecting and providing therapy for tachycardia) and brady mode (fordetecting and providing therapy for bradycardia). Changing programparameters such as tachy mode and/or brady mode activates or deactivatesmajor cardiac analysis and therapy functions of the device.

Most program parameters are adjusted using an external programmerrecorder/monitor that communicates with the implanted device viawireless telemetry through the skin. Program parameters may be turned onor off through the use of the external programmer. Other mechanisms mayalso modify parameter programming. For example, the device may, upondetection of an exhausted battery condition, disable some devicefunctions rather than delivery compromised therapy that may be erraticor potentially dangerous. Some devices respond to the presence of amagnet by inhibiting therapy momentarily, or permanently via magnetmaneuvers. Robust device designs perform periodic system integrityvalidation including program parameters. The device may alterprogramming to correct integrity errors. These types of changes to theprogram parameters may have a profound effect on the overall operationof the implanted device.

When a patient visits their physician for routine periodic devicefollow-ups, the device is interrogated using the external programmerrecorder/monitor. During this interrogation, a review is made ofparameter programming to assure that the device settings are appropriatefor the patient cardiac condition. When parameters are not as expected(e.g., a program parameter has been turned off, or there is analteration in programmable values the program parameter is using,), theclinician must investigate to discover how and why this occurred andtake corrective action. Knowing why and when the parameter programmingchanged is important information to assess the situation. When thisinformation is limited or incomplete, it places doubt on the assessmentand the reliability of the device. Therefore, a need exists forunderstanding how and why parameter programs have been affected duringthe operation of a cardiac rhythm management device.

SUMMARY OF THE INVENTION

As explained in detail below, the present subject matter is directed toa method and system for providing a log maintained within an implantablemedical device that records changes to the operation of the implantablemedical device. The log includes entries made by the implantable medicaldevice when operating parameters for executable programs within themedical device and/or the operating state of the implantable medicaldevice change. Logging these types of changes are important indiagnosing how and why changes occurred in the operation of theimplantable medical device.

In one embodiment of the present subject matter, an executable programis stored in an implantable pulse generator. The executable programincludes one or more programmable parameters that have a first state.The implantable pulse generator further includes a parameter log. Theparameter log is used to record changes to the state of the programmableparameters for the executable program. Changes to the state can includeturning the executable program on or off, or making alterations toprogrammable values used by the executable program. When these types ofchanges are detected, the first state of the one or more programmableparameters changes to a second state. The first state of the one or moreprogrammable parameters changed to the second state is then stored inthe parameter log. Then, when it is discovered that changes haveoccurred to the programmable parameters, the log of these changes can bereviewed by the physician to more easily discover how and why thechanges occurred.

Changes recorded in the log include changes to the execution (e.g.,turned on or turned off) of the programs for the programmableparameters. Additionally, recorded changes can include those relatingthe use of a programmable parameter to deliver a “STAT” shock to apatient. Also, events in which the implantable pulse generator initiatesan electronic circuitry reset program to test its circuitry and programsettings is also recorded in the log. Additional events logged includewhen the implantable pulse generator is partially or totally disabledwith use of a magnet or when the implantable pulse generator terminatedan executable program due to a battery malfunction or expiration. Inaddition to storing why changes occurred to the programmable parameters,the time and the date of the change to the parameters is also recordedin the log.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a flow chart illustrating one embodiment of the presentsubject matter;

FIG. 2 is a flow chart illustrating one embodiment of the presentsubject matter;

FIG. 3 is a schematic view of an implantable pulse generator and amedical device programmer according to one embodiment of the presentsubject matter; and

FIG. 4 is a block diagram of an implantable pulse generator according toone embodiment of the present subject matter.

DETAILED DESCRIPTION

In the following detailed description, references are made to theaccompanying drawings that illustrate specific embodiments in which theinvention may be practiced. Electrical, mechanical, programmatic andstructural changes may be made to the embodiments without departing fromthe spirit and scope of the present invention. The following detaileddescription is, therefore, not to be taken in a limiting sense and thescope of the present invention is defined by the appended claims andtheir equivalents.

The embodiments of the present subject matter illustrated herein aredescribed as being included in an implantable pulse generator. In oneembodiment, the implantable pulse generator is an implantablecardioverter defibrillator, which may include numerous pacing modesknown in the art. Alternatively, it is also possible to implement thepresent subject matter in an implantable cardiac pacemaker. Furthermore,although the present invention is described in conjunction with animplantable pulse generator having a microprocessor-based architecture,it will be understood that the implantable pulse generator (or otherimplanted device) may be implemented in any logic based, customintegrated circuit architecture, if desired.

The present subject matter provides for a log to be maintained within animplantable medical device. The log includes entries made by theimplantable medical device when operating parameters for executableprograms within the medical device and/or the operating state of theimplantable medical device change. Logging these types of changes areimportant in diagnosing how and why changes occurred in the operation ofthe implantable medical device. For example, an implantable medicaldevice may be programmed to operate in a first state (i.e., a firstmode). At a later time, the first state of the implantable medicaldevice is changed due to an external influence, factor and/or signal.This later influencing signal has the effect of changing the operationof the implantable from the first state to a second state. The secondstate of the implantable device can include changes to the operatingparameters of programs being executed within the implantable pulsegenerator, the termination of programs being executed within theimplantable pulse generator, and/or the complete shut-down of theimplantable device.

Executable programs are provided within the circuitry of the implantablemedical device to direct the operation of the device. Executableprograms suitable for controlling and operating implantable pulsegenerators are known. These programs can include those designed toanalyze and provide therapy for bradycardia (e.g., Brady Mode), atrialfibrillation, atrial tachycardia, supraventricular tachycardia, andventricular fibrillation, congestive heart failure therapy, and otherprograms intended to treat cardiac arrhythmia and conditions.

A “Tachy Mode” program is an additional example of an executable programimplemented in an implantable pulse generator and designed to analyzeand provide therapy to treat tachyrhythmia episodes. When the Tachy Modeprogram is in operation, it analyzes cardiac complexes sensed in one ormore sensed cardiac signals to determine the existence of a tachycardiaepisode and, if programmed to do so, to direct the delivery of therapyto terminate the tachycardia episode. In one embodiment, the state ofthe Tachy Mode program, or other executable programs, can be alteredthrough the use of a medical device programmer. Altering the state ofthe Tachy Mode program can be accomplished by delivering one or moresignals to the implantable pulse generator. Altering the state of anexecutable program, such as the Tachy Mode program, can includebeginning the execution of the program, terminating (e.g., stopping) theexecution of the program, and/or changing programmable parametersassociated with the program.

Changes to the state of one or more programs within an implantable pulsegenerator are logged, or recorded, by the implantable pulse generatorwhen they occur. In one embodiment, the changes logged include theparameter values and/or settings prior to the change in state of theexecutable program. For example, if at a first time of zero (0) a firstparameter of an executable program has a first value. At a second timeafter the first time (t+0) a change occurs in the value of the firstparameter the implantable medical device system logs, or records, thefirst value of the first parameter. Subsequent changes are alsoidentified and logged by the system. The changes to the state of theexecutable program can then be reviewed by retrieving the log.Information provided in the log can then be useful in determining howthe change occurred, what change occurred, when the change occurred andwhy the change occurred.

Executable commands, or signals, from a medical device programmerinstructing the implantable pulse generator to deliver one or moreshocks of electrical energy, such as pacing level pulses, cardioversionand/or defibrillation shocks also initiate changes which are recorded inthe log. For example, when a change is initiated in an executableprogram for the purpose of delivering a “STAT” shock (pacing,cardioversion, and/or defibrillation pulse) the change to the executableprogram (i.e., executing the program which initially turned off) islogged. Additionally, changes made to an executable program and/or theoperation of the implantable pulse generator through the use of amagnetic signal, such as using a, magnet, to disable the operation ofthe implantable medical device are also logged in the implantable pulsegenerator.

Referring now to FIG. 1, there is shown one embodiment of a methodaccording to the present subject matter. At 100 an executable program isstored in an implantable pulse generator. In one embodiment, theexecutable program is stored in a memory circuit within the implantablepulse generator and is executed within the electronic circuitry of theimplantable pulse generator under the control of a microprocessor. Theimplantable pulse generator further includes a parameter log. In oneembodiment, the parameter log is a list containing the state of anexecutable program prior to a change in the state of the executableprogram, when (e.g., time and date) the change to the state occurredalong with additional information that will be described in greaterdetail below.

The executable program stored and executed within the implantable pulsegenerator includes one or more programmable parameters having a firststate. In one embodiment, the first state of the one or moreprogrammable parameters includes being used with the executable programor the state of being not being used when the executable program isterminated (e.g., not executed). At 120, the implantable medical devicethen analyzes the first state of the one or more programmable parametersto detect a change to a second state of the one or more programmableparameters. In one embodiment, a change in the first state to the secondstate of the one or more programmable parameters includes a change inthe operational status of the executable program as previouslydiscussed.

Once a change is detected, the first state of the one or moreprogrammable parameters changed to the second state is stored in theparameter log at 140. So in one embodiment, the state of the one or moreprogrammable parameters that were actually changed to the second stateare logged in the parameter log. The parameter log also is used torecord when there is a change to all the one or more programmableparameters, such as when the executable program is (e.g., the Tachy Modeprogram) either intentionally or accidentally activated or terminated.

In one embodiment, the state of the one or more programmable parametersis changed from a first state to a second state by deactivating theexecutable program in the implantable pulse generator. Examples ofdeactivating the executable program include terminating the executableprogram when the implantable pulse generator receives a magnetic signal.In one embodiment, the magnetic signal is received by a switch coupledto the electronic circuitry of the implantable pulse generator. Thechange in the state of the programmable parameters is then recorded inthe parameter log. In the present example, the termination of theexecutable program and/or the deactivation of the implantable pulsegenerator is recorded in the parameter log.

In an additional embodiment, the state of the one or more programmableparameters is changed from a first state to a second state by theexhaustion of the power supply to the implantable pulse generator. Forexample, implantable pulse generators typically include a battery. Whenthe energy supply from the battery expires, the implantable pulsegenerator ceases to operate. As a result, executable program(s) withinthe pulse generator terminate. As this process is occurring, theelectronic circuitry within the pulse generator detects the change tothe first state to the second state as the executable program ceases tooperate. The change in the state of the programmable parameters is thenrecorded in the parameter log. In the present example, the terminationof the executable program and/or the deactivation of the implantablepulse generator is recorded in the parameter log.

Alternatively, the state of the one or more programmable parameters ischanged from a first state to a second state by the execution of anelectronic circuitry reset program stored in the implantable pulsegenerator. The change in the state of the programmable parameters isthen recorded in the parameter log. In the present example, theexecution of the electronic circuitry reset program is recorded in theparameter log. A log of the execution of the electronic circuitry resetprogram is then stored in the parameter log.

Referring now to FIG. 2, there is shown an additional embodiment of amethod according to the present subject matter. At 200 a medical deviceprogrammer is used to establish a communication link between theimplantable pulse generator and the medical device programmer. A firstsignal is then transmitted from the medical device programmer andreceived by the implantable pulse generator which changes the firststate of the one or more programmable parameters to the second state at220. Once the change is detected, the first state of the one or moreprogrammable parameters changed to the second state is stored in theparameter log at 240.

In one embodiment, the first signal transmitted to and received by theimplantable pulse generator controls executable programs contained withthe implantable pulse generator. For example, the first signal from themedical device programmer can instruct the electronic circuitry of theimplantable pulse generator to terminate running an executable program.Alternatively, the first signal from the medical device programmer caninstruct the electronic circuitry of the implantable pulse generator tochange one or more programmable parameters used in the execution of anexecutable program. When these types of changes occur, the values and/orstates of the parameters prior to the change are recorded in theparameter log.

In addition to recording changes to the parameter values and/or states,information related to one or more electrical energy shocks deliveredunder the control of the medical device programmer is recorded in theparameter log. In one embodiment, the medical device programmer is usedto generate and transmit a second signal which is received by theimplantable pulse generator. The second signal instructs the electroniccircuitry of the implantable pulse generator to generate the one or moreelectrical shocks. In one embodiment, the one or more electrical shocksinclude pacing level shocks, cardioversion level shocks and/ordefibrillation level shocks.

The medical device programmer is also able to transmit a first signal tocause the electronic circuitry of the implantable pulse generator toexecute an electronic circuitry reset program. When the electroniccircuitry reset program is executed, the first state of the one or moreprogrammable parameters is considered changed and the occurrence of thisevent is logged in the parameter log. In one embodiment, the electroniccircuitry reset program is a hierarchical series of programs which firsttest the integrity of parameter values and/or states in executableprograms. Based on the results of this first test, if the parametervalues and/or states are within acceptable ranges the programsdesignated to be operating are executed. Alternatively, if one or moreof the parameter values and/or states are not within acceptable ranges,one or more programs contained within electronic circuitry of theimplantable pulse generator attempt to correct the error(s). If this issuccessful, the programs are executed. If this is not successful, thevalues and/or states of the parameters are replaced with nominal, ordefault, settings and the program(s) are executed.

In addition to logging changes in an executable program, executablecommands, or signals, from a medical device programmer instructing theimplantable pulse generator to deliver one or more shocks of electricalenergy, such as pacing level pulses, cardioversion and/or defibrillationshocks are also logged. Furthermore, changes made to an executableprogram and/or the operation of the implantable pulse generator throughthe use of a magnetic signal, such as using a magnet, to disable theoperation of the implantable medical device are also logged in theimplantable pulse generator. Additionally, execution of integritycorrection programs within the implantable pulse generator is alsorecorded in the parameter log.

Also, along with logging changes of state in the parameter values and/orstates, additional information is also provided and stored in theparameter log. For example, the additional information provided andstored in the parameter long includes supplying a date and a time whenthe change in the first state is detected. Additionally, the parameterlog maintains a record of a predetermined number of previous changesmade to the parameter values and/or state. For example, thepredetermined number is a value of at least two (2), where four (4) isan acceptable number. Thus, the first state of the parameters isrecorded when a change is detected to a second state. Similarly, thesecond state of the parameters is recorded when a change is detected toa third state. This type of recording of the state of parameterscontinues to occur until the parameter log has recorded thepredetermined number of changes to the parameters. Additionally, besidesstoring only the parameters that have changed from one state to a nextstate, the one or more programmable parameters unchanged from one stateto the next state (e.g., from the first state to the second state) arealso stored in the parameter log.

In one embodiment, the parameter log stored in the implantable pulsegenerator is accessible though the use of a medical device programmer.The medical device programmer allows for one or more command signals tobe sent to the implantable medical device. Upon receiving the commandsignals the implantable pulse generator down loads, or transfers,information contained in the parameter log to the medical deviceprogrammer. The medical device programmer is then used to view thecontents of the parameter log gathered by the implantable pulsegenerator.

Referring now to FIGS. 3 of the drawings, there is shown one embodimentof an implantable pulse generator 300. In the present embodiment, theimplantable pulse generator 300 is an implantable cardiac defibrillator302 electrically and physically coupled to at least one intracardiaccatheter 304. In one embodiment, the intracardiac catheter 304 includesone or more pacing electrodes and one or more defibrillation electrodespositioned on the intracardiac catheter 304.

The intracardiac catheter 304 is used to sense one or more cardiacsignals which contain cardiac complexes each indicative of at least aportion of a cardiac cycle. Electronic circuitry contained within theimplantable cardiac defibrillator 302 is used to analyze the sensedcardiac complexes to determine the occurrence of an arrhythmic episode.Based on the analysis of the cardiac complexes in the cardiac signals,the electronic circuitry within the implantable cardiac defibrillator302 delivers one or more electrical pulses to electrodes on the one ormore intracardiac catheters under certain predetermined conditions totreat the arrhythmic episode.

In one embodiment, the intracardiac catheter 304 is an endocardial leadthat is releasably attached to the cardiac defibrillator 302. Theintracardiac catheter 304 has an elongate body with a proximal end 308and a distal end 310 and is shown as having a pacing electrode 312located at, or adjacent, the distal end 310 of the intracardiac catheter304. In one embodiment, the pacing electrode 312 is a tip electrodepositioned at the distal end 310 of the intracardiac catheter 304.Alternatively, the pacing electrode 312 is an annular, or a semi-annularring electrode positioned adjacent the distal end 310.

The intracardiac catheter 304 also includes one or more defibrillationelectrodes. In one embodiment, the intracardiac catheter 304 has a firstdefibrillation electrode 314 and a second defibrillation electrode 316,where the first defibrillation electrode 314 and the seconddefibrillation electrode 316 are defibrillation coil electrodes as areknown in the art. The first defibrillation electrode 314 is spaced apartand proximal from the pacing electrode 312, and the seconddefibrillation electrode 316 is spaced apart and proximal from the firstdefibrillation electrode 314.

Referring now to FIG. 4, there is shown an embodiment of a block diagramof the implantable cardiac defibrillator 302. The implantable cardiacdefibrillator 302 includes electronic control circuitry 402 forreceiving one or more cardiac signals and delivering electrical energyto the one or more electrodes. The electronic control circuitry 402includes terminals, labeled with reference numbers 404, 406, and 408 forconnection to electrodes attached to the surface of the intracardiaccatheter 304. The pacing electrode 312 is electrically connected toterminal 404 and to the electronic control circuitry 402 through anelectrically insulated conductor provided within the elongate body ofthe intracardiac catheter 304. The first defibrillation electrode 314and the second defibrillation electrode 316 are connected to terminals406 and 408, respectively, and to the electronic control circuitry 402through electrically insulated conductors provided within the elongatebody of the intracardiac catheter 304.

In one embodiment, the electronic control circuitry 402 of the cardiacdefibrillator 302 is encased and hermetically sealed in a housing 410suitable for implanting in a human body. In one embodiment, titanium isused for the housing 410, however, other biocompatible housing materialsas are known in the art may be used. A connector block 412 isadditionally attached to the housing 410 of the cardiac defibrillator302 to allow for the physical and the electrical attachment of theintracardiac catheter 304 and the electrodes to the cardiacdefibrillator 302 and the encased electronic control circuitry 402.

The electronic control circuitry 402 of the cardiac defibrillator 302 isa programmable microprocessor-based system, with a microprocessor 412and a memory circuit 414, which contains parameters for various pacingand sensing modes and stores data indicative of cardiac signals receivedby the electronic control circuitry 402. In one embodiment, the memorycircuit 414 stores the parameter log and one or more executable programsused by the implantable cardiac defibrillator 302 to analyze and treatdetected arrhythmic episodes. In addition to storing the one or moreexecutable programs, one or more programmable parameters having a firststate are also stored for the executable programs.

A communication circuit 416 is additionally coupled to the electroniccontrol circuitry 402, the memory circuit 414 and the microprocessor 412to allow the cardiac defibrillator 302 to establish a communication linkbetween the cardiac defibrillator 302 and a medical device programmer420. In one embodiment, the communication circuit 416 and the medicaldevice programmer 420 use a wire loop antenna 422 and a radio frequencytelemetric link, as is known in the art, to receive and transmit signalsand data to and from the medical device programmer 420 and theelectronic control circuitry 402. In this manner, a first signal,including programming commands and/or instructions, is transmitted fromthe medical device programmer 420 and received by the communicationcircuit 416 to change the first state of the one or more programmableparameters to the second state. Additionally, stored cardiac data,including the parameter log, pertaining to sensed arrhythmic episodesare transferred to the medical device programmer 420 from the cardiacdefibrillator 302.

The embodiment of the cardiac defibrillator block diagram shows thepacing electrode 304 and the first defibrillation electrode 314 coupledto a sense amplifier 426 to allow for bipolar sensing and pacing. Theoutput of the sense amplifier 426 is shown connected to an R-wavedetector 430. These components serve to sense and amplify R-waves, andapply signals indicative thereof to the microprocessor 412. Among otherthings, microprocessor 412 responds to the R-wave detector 430 byproviding pacing signals to an electrical pulse generator circuit 432coupled to the microprocessor 412, as needed according to the programmedpacing mode. In one embodiment, the electrical pulse generator circuit432 provides pacing level pulses to terminals 404 and 406, which connectto the pacing electrode 304 and the first defibrillation electrode 314for bipolar cardiac pacing. Power to the cardiac defibrillator 302 issupplied by an electrochemical battery 454 that is housed within thecardiac defibrillator 302.

The first defibrillation electrode 304 and the second defibrillationelectrode 306 are coupled to a sense amplifier 440, whose output isconnected to a cardiac morphology detector 444. These components serveto sense and amplify QRS-complexes, and apply signals indicative thereofto the microprocessor 412. In one embodiment, the cardiac morphologydetector 444 includes an analog filter for filtering cardiac signalnoise sensed by the electrodes. The cardiac signals are then bandlimitedbefore arriving at an analog-to-digital filter. The cardiac signals arethen A/D converted into a digital signal and subsequently received bythe microprocessor 412. The microprocessor 412 responds to the sensedcardiac signals by providing electrical energy pulses (cardioversionand/or defibrillation pulses) from the electrical pulse generatorcircuit 432.

In one embodiment, the medical device programmer 420 is used to producea second signal that when received by the communication circuit 416.Upon receiving the second signal, the microprocessor 412 controls theelectrical pulse generator circuit 432 to generate one or moreelectrical energy shocks. In one embodiment, the one or more electricalenergy shocks produced are pacing level shocks. Alternatively, the oneor more electrical energy shocks are cardioversion and/or defibrillationlevel shocks. After a second signal from a medical device programmer hasbeen used to produce electrical energy shocks, the microprocessor 412stores information related to the one or more electrical energy shocks(e.g., type of shocks delivered, strength of the shocks delivered, etc.)in the device log. Additionally, the second signal instructing theimplantable pulse generator to deliver one or more shocks of electricalenergy also initiates changes to the programs which are recorded in thelog. For example, when a change is initiated in an executable programfor the purpose of delivering a “STAT” shock (pacing, cardioversion,and/or defibrillation pulse) the change to the executable program (i.e.,executing the program which initially turned off) is logged.

Executable commands, or signals, from a medical device programmerinstructing the implantable pulse generator to deliver one or moreshocks of electrical energy, such as pacing level pulses, cardioversionand/or defibrillation shocks also initiate changes which are recorded inthe log. For example, when a change is initiated in an executableprogram for the purpose of delivering a “STAT” shock (pacing,cardioversion, and/or defibrillation pulse) the change to the executableprogram (i.e., executing the program which initially turned off) islogged.

The cardiac defibrillator 302 further includes a parameter analysiscircuit 460 coupled to the memory circuit 414, where the parameteranalysis circuit 460 analyzes the first state of the one or moreprogrammable parameters to detect a change in a first state to a secondstate of the one or more programmable parameters. When changes to theprogrammable parameter states are detected (e.g., the change of one ormore programmable parameters from the first state to a second state),the state and/or value of the parameters prior to the change are storedin the parameter log by the microprocessor 412 in the memory circuit 414which is coupled to both the microprocessor 412 and the parameteranalysis circuit 460.

In one embodiment, the first signal received by the communicationcircuit 416 controls the executable program. For example, the firstsignal received by the communication circuit 416 can direct themicroprocessor 412 to terminate one or more executable programs beingperformed in implantable cardiac defibrillator 302. Alternatively, thefirst signal received by the communication circuit 416 changes thestatus and/or value of programmable parameters used by executableprograms in the implantable cardiac defibrillator 302.

The electronic control circuitry of the implantable pulse generatorfurther includes a clock from which both a time and a date are providedto the parameter log. In one embodiment, the clock is included in themicroprocessor 412 to provide information relative to time, includingthe time and the date of when changes in state to the programmableparameters occur. When changes to the parameter state occur, themicroprocessor 412 stores the time and the date in the parameter logwhen the state of the one or more programmable parameters is changed.

Referring again to FIG. 3, there is shown one embodiment of a medicaldevice programmer 320. As previously mentioned, one embodiment of themedical device programmer 320 for the implantable cardiac defibrillator302 takes the form of an external controller as are known in the art.The medical device programmer 320 is designed to communicate with animplantable medical device, such as the cardiac defibrillator 302, viaradio frequency telemetry. The medical device programmer 320 hasprogrammer electronic circuitry, including a microprocessing unit andrelated circuitry, such as digital memory, which is coupled to agraphics display screen 324.

In one embodiment, the medical device programmer 320 comprises an outerhousing 328 which is made of a thermal plastic or other suitablelightweight durable material. The graphics display screen 324 isdisposed on the upper surface of housing 330. The graphics displayscreen 324 folds down into a closed position when medical deviceprogrammer 320 is not in use, thereby reducing the size of medicaldevice programmer 320 and protecting the display surface of graphicsdisplay screen 324 during transportation and storage.

In an additional embodiment, the external programmer additionally has afloppy disk drive and/or a removable disk drive and a hard drivedisposed within the housing. Air vents are provided at various points inthe housing so that an internal fan can circulate air within the housing328 and prevent overheating of components therein.

The medical device programmer 320 is shown with the graphics displayscreen 324 positioned in one of a plurality of possible open positionssuch that a display on the graphics display screen 324 is visible to auser situated in front of the medical device programmer 320. In oneembodiment, the graphics display screen 324 is of the LCD orelectroluminescent type. The graphics display screen 324 is operativelycoupled to the electronic circuitry disposed with the housing 328 and isadapted to provide a visual display of graphics and/or data undercontrol of the programmer electronic circuitry.

The medical device programmer 320 further includes a user input devicecoupled to the electronic circuitry. In one embodiment, the user inputdevice is the graphics display screen 328, which is provided withtouch-sensitive capability, such that a user can interact with theprogrammer electronic circuitry by touching the display area on thegraphics display screen 328 with a stylus 340, or even the user'sfinger. In one embodiment, the touch-sensitive graphics display screenis primary input for the medical device programmer 320. The medicaldevice programmer 320 further includes a programming head 344, which isplace over a patient's body near the implant site of an implanteddevice, such as the cardiac defibrillator 302, in order to establish atelemetry link between the cardiac defibrillator 302 and the medicaldevice programmer 320. The telemetry link between the cardiacdefibrillator 302 and the medical device programmer 320 allows theelectronic circuitry coupled to the graphics display screen to becoupled to the electronic control circuitry of the cardiac defibrillator302. The programming head 344 is coupled to the electronic circuitry ofmedical device programmer 320 and a receiver circuit for receivingsignals from the communication circuit indicative of cardiac signals bya cable 350.

The stylus 340 used to interact with the touch-sensitive graphicsdisplay screen 324 is coupled to the programmer electronic circuitrywithin the housing 328 by a cable 354. Alternatively, the medical deviceprogrammer 320 may be equipped with a conventional computer “mouse”-typepointing device or a trackball, rather than a stylus. In the absence ofeither a stylus or a mouse, on-screen cursor control for enabling userinteraction with medical device programmer 320 may be facilitatedthrough cursor control keys 360 (arrow keys or the like) disposed on themedical device programmer 320.

The medical device programmer 320 further includes a receiver circuitfor receiving signals from the communication circuit indicative ofcardiac signals. Through the telemetric contact with the cardiacdefibrillator 302, the medical device programmer 320 is capable ofcapturing and storing recorded electrocardiogram data transmitted fromthe cardiac defibrillator 302 and displaying the electrocardiogram dataon its graphics display screen 324.

This application is intended to cover any adaptations or variations ofthe present invention. It is manifestly intended that this invention belimited only by the claims and equivalents thereof.

1. A method, comprising: storing an executable program in an implantablepulse generator, wherein the executable program includes at least oneprogrammable parameter having a first state; storing a parameter log inthe implantable pulse generator; detecting an error in a change in thefirst state of the at least one programmable parameter to a secondstate; and storing in the parameter log the first state of the at leastone programmable parameters changed in error to the second state.
 2. Themethod of claim 1, wherein detecting the error in a change in the firststate of the at least one programmable parameter to the second stateincludes detecting the error after one of a deactivation of theexecutable program and an activation of the executable program.
 3. Themethod of claim 1, wherein storing the parameter log includes:establishing a communication link between the implantable pulsegenerator and a medical device programmer; and transmitting theparameter log stored in the implantable pulse generator to the medicaldevice programmer.
 4. The method of claim 3, wherein establishing thecommunication link includes: transmitting a first signal from themedical device programmer to change the first state of the one or moreprogrammable parameters to the second state; and receiving the firstsignal to change the first state of the one or more programmableparameters to the second state.
 5. The method of claim 1, whereindetecting the error in a change in the first state of the at least oneprogrammable parameter to the second state includes detecting the errorafter a non-programmer initiated change from the first state of the oneor more programmable parameters to the second state.
 6. The method ofclaim 1, wherein detecting the error in a change in the first state ofthe at least one programmable parameter to the second state includesdetecting the error after an expiration of energy supplied by a batteryin the implantable pulse generator.
 7. The method of claim 1, whereindetecting the error in a change in the first state of the at least oneprogrammable parameter to the second state includes detecting the errorafter execution of an electronic circuitry reset program.
 8. The methodof claim 1, wherein detecting the error in a change the error in achange in the first state to the second state includes detecting theerror after termination of the executable program.
 9. The method ofclaim 1, wherein detecting the error in a change in the first state ofthe at least one programmable parameter to the second state includesdetecting the error after use of a magnetic signal to control operationof the implantable pulse generator.
 10. The method of claim 1, whereinstoring includes recording execution of an integrity correction programin the implantable pulse generator.
 11. The method of claim 1, whereindetecting the error in a change in the first state of the at least oneprogrammable parameter to the second state includes detecting the errorafter a change due to an influence external to the implantable pulsegenerator.
 12. A system including an implantable pulse generator,programmer and a communication link between the implantable pulsegenerator and the programmer, the implantable pulse generatorcomprising: an executable program in an implantable pulse generator,wherein the executable program includes one or more programmableparameters having a first state and a second state; a parameter log forstoring a change in a state of the one or more programmable parameters;the programmer comprising means for producing a first signal to changethe first state of the one or more programmable parameters to the secondstate, the first signal being transmitted to the implantable pulsegenerator by the communication link; and the implantable pulse generatorfurther comprising: means for receiving the first signal to change thefirst state of the one or more programmable parameters to the secondstate; and means for detecting a change in the first state of the one ormore programmable parameters to the second state, the change beingstored in the parameter log, wherein the means for detecting a changeincludes means for detecting the first state of the one or moreprogrammable parameters changed in error to the second state, the firststate being stored in the parameter log.
 13. The system of claim 12,wherein the means for detecting includes means for detecting anon-programmer initiated change from the first state of the one or moreprogrammable parameters.
 14. A method, comprising: storing an executableprogram in a cardiac rhythm management device, wherein the cardiacrhythm management device includes a parameter log and the executableprogram includes one or more programmable parameters having a firststate; transmitting a signal from a medical device programmer to changethe first state of at least one programmable parameter to a secondstate; detecting an error in a change from the first state of the atleast one programmable parameter to the second state; and storing in theparameter log the first state of the at least one programmableparameters changed to the second state.
 15. The method of claim 14,wherein storing the executable program includes storing the executableprogram in an implantable device.
 16. The method of claim 14, whereindetecting the change of the at least one programmable parameter to thesecond state includes detecting a change due to an influence external tothe cardiac rhythm management device.
 17. A cardiac rhythm managementdevice, comprising: a sensor for sensing cardiac signals; an electricalpulse generation circuit; a control circuit operable connected to boththe sensor to receive sensed cardiac signals and the electrical pulsegeneration circuit; a memory operably connected to the control circuit,wherein the memory stores data indicative of sensed cardiac signals, anexecutable program used by the control circuit, parameters for theexecutable program, a device activity log, and a parameter change log;and means for detecting an error in a change in a first state of atleast one programmable parameter to a second state, and for storing thefirst state of the at least one programmable parameter changed in errorto the second state in the parameter change log.
 18. The device of claim17, wherein the sensed cardiac data includes arrhythmic episodes, andwherein the device activity log stores information related to one ormore electrical energy shocks delivered by the pulse generation circuit.19. An implantable pulse generator, comprising: means for storing anexecutable program that includes at least one programmable parameterhaving a first state; means for storing a parameter log in theimplantable pulse generator; means for detecting an error in a change inthe first state of the at least one programmable parameter to a secondstate; and means for storing in the parameter log the first state of theat least one programmable parameters changed in error to the secondstate.
 20. The implantable pulse generator of claim 19, wherein themeans for storing in the parameter log the first state of the at leastone programmable parameters changed in error to the second stateincludes means for transmitting the first state data to a programmer.